﻿#pragma once

#include "../../Shared/Enums.h"
#include <string>
#include <unordered_map>
#include <any>

namespace Server::MirDatabase
{
    class BuffInfo
    {
    private:
        BuffType Type = static_cast<BuffType>(0);
        bool CanStack = false;
        int Icon = 0;
        bool Visible = false;
        bool Infinite = false;
        std::string Text;
        std::unordered_map<std::string, std::any> Values;

    public:
        BuffType getType() const;
        void setType(BuffType value);
        bool getCanStack() const;
        void setCanStack(bool value);
        int getIcon() const;
        void setIcon(int value);
        bool getVisible() const;
        void setVisible(bool value);
        bool getInfinite() const;
        void setInfinite(bool value);
        std::string getText() const;
        void setText(const std::string &value);
        std::unordered_map<std::string, std::any> getValues() const;
        void setValues(const std::unordered_map<std::string, std::any> &value);
    };
}
